
# enforce desired departure and arrival time within the given contiguous ranges

# enforce preferred departure hour range

subject to c_pref_depart_hr_bgn:
sum { (source,j,k,l) in ARCS } itinerary[source,j,k,l] * floor(depart_tm[k]/100) >= p_pref_depart_hr_rng_bgn;

subject to c_pref_depart_hr_end:
sum { (source,j,k,l) in ARCS } itinerary[source,j,k,l] * (floor(depart_tm[k]/100) + (depart_tm[k] mod 100)/60) <= p_pref_depart_hr_rng_end;

# enforce preferred arrival range

subject to c_pref_arrive_hr_bgn:
sum { (i,dest,j,k) in ARCS } itinerary[i,dest,j,k] * floor(arrive_tm[j]/100) >= p_pref_arrive_hr_rng_bgn;

subject to c_pref_arrive_hr_end:
sum { (i,dest,j,k) in ARCS } itinerary[i,dest,j,k] * (floor(arrive_tm[j]/100) + (arrive_tm[j] mod 100)/60) <= p_pref_arrive_hr_rng_end;


